package com.yykj.user.center.server.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yykj.common.util.serializer.LocalDate2LongSerializer;
import com.yykj.common.util.serializer.LocalDate2StringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.CreationTimestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author chenl
 * @version 1.0
 * @date 2021/10/31 22:16
 */
@Data
public class RegisteredOrderDTO {

    @ApiModelProperty("预约挂号Id")
    private String id;

    @ApiModelProperty("预约人的帐号ID")
    private String accountId;

    @ApiModelProperty("就诊卡号ID")
    private String patientCardId;

    @ApiModelProperty("预约日期")
    private LocalDate date;

    @ApiModelProperty("就诊卡对应的名称")
    private String patientName;

    @ApiModelProperty("患者性别")
    @Column(length = 5)
    private String gender;

    @ApiModelProperty("医院ID")
    @Column(length = 11)
    private Integer hospitalId;

    @ApiModelProperty("患者身份证号")
    @Column(length = 32)
    private String idCard;

    @Column(columnDefinition = "text")
    @ApiModelProperty("症状描述")
    private String description;

    @ApiModelProperty("手机号")
    @Column(length = 32)
    private String mobile;

    @ApiModelProperty("医生Id")
    @Column(length = 32)
    private String doctorId;

    @ApiModelProperty("医生姓名")
    @Column(length = 32)
    private String doctorName;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty("医院名称")
    private String hospitalName;

    @ApiModelProperty("就诊开始时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime startDatetime;

    @ApiModelProperty("就诊结束时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime endDatetime;

    @ApiModelProperty("预约科室ID")
    private Integer deptId;

    @ApiModelProperty("预约科室名称")
    private String deptName;

    @ApiModelProperty("上午还是下午")
    private String morningOrAfternoon;

    @ApiModelProperty("就诊科室")
    private String seeDeptName;

    @ApiModelProperty("订单号")
    private String orderNo;

    @ApiModelProperty("预约状态：1待就诊 2已就诊 3已取消")
    private Integer state;

    @ApiModelProperty("就诊卡号")
    private String patientCardNo;

    @ApiModelProperty("医生头像")
    private String avatar;

    @ApiModelProperty("职称")
    private String officer;

    @ApiModelProperty("与本人关系")
    private String relation;
}
